﻿Public Class frmUsuarioLista

    Private Sub frmMantenimientoBasicoLista_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Refrescar()
    End Sub

    Sub Refrescar()
        Dim usuariosBS As Banco.BS.Usuarios
        usuariosBS = New Banco.BS.Usuarios
        Me.dgLista.DataSource = usuariosBS.Listar()
        Me.Ocultar()

    End Sub

    Sub UsuariosActivos()
        Dim usuariosBS As Banco.BS.Usuarios
        usuariosBS = New Banco.BS.Usuarios
        Me.dgLista.DataSource = usuariosBS.Activos()
        Me.Ocultar()
    End Sub

    Sub UsuariosInactivos()
        Dim usuariosBS As Banco.BS.Usuarios
        usuariosBS = New Banco.BS.Usuarios
        Me.dgLista.DataSource = usuariosBS.Inactivos()
        Me.Ocultar()
    End Sub

    Sub Ocultar()
        Me.dgLista.Columns("Id").Visible = False
        Me.dgLista.Columns("Contraseña").Visible = False
        Me.dgLista.Columns("NombreUsuario").Visible = False
        Me.dgLista.Columns("FechaCreacion").Visible = False

    End Sub


    Private Sub msiLimpiar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles msiLimpiar.Click
        Me.dgLista.DataSource = Nothing
    End Sub

    Private Sub msiSalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles msiSalir.Click
        Me.Close()
    End Sub

    Private Sub msiTodosUsuarios_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles msiTodosUsuarios.Click
        Me.dgLista.DataSource = Nothing
        Refrescar()
    End Sub

    Private Sub msiUsuariosActivos_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles msiUsuariosActivos.Click
        Me.dgLista.DataSource = Nothing
        UsuariosActivos()
    End Sub

    Private Sub msiUsuariosInactivos_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles msiUsuariosInactivos.Click
        Me.dgLista.DataSource = Nothing
        UsuariosInactivos()
    End Sub

    Private Sub msiNumeroIdentificacion_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles msiNumeroIdentificacion.Click
        Dim mantenimiento As frmFiltrarIdentificacion
        mantenimiento = New frmFiltrarIdentificacion
        Dim mantenimientoBS As New Banco.BS.Usuarios
        Dim mantenimientoBE As New Banco.BE.Usuarios


        If mantenimiento.ShowDialog() = Windows.Forms.DialogResult.OK Then

            Me.dgLista.DataSource = Nothing
            Me.dgLista.DataSource = mantenimientoBS.FiltrarIdentificacion(mantenimiento.txtIdentificacion.Text)

        End If
    End Sub

    Private Sub msiCoincidenciasNombre_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles msiCoincidenciasNombre.Click
        Dim mantenimiento As frmFiltrarNombres
        mantenimiento = New frmFiltrarNombres
        Dim mantenimientoBS As New Banco.BS.Usuarios
        Dim mantenimientoBE As New Banco.BE.Usuarios


        If mantenimiento.ShowDialog() = Windows.Forms.DialogResult.OK Then

            Me.dgLista.DataSource = Nothing
            Me.dgLista.DataSource = mantenimientoBS.FiltrarNombres(mantenimiento.txtNombre.Text)

        End If
    End Sub

    Private Sub msiRefrescar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles msiRefrescar.Click
        Refrescar()
    End Sub

    Private Sub msiAgregar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles msiAgregar.Click
        Dim agregar As frmUsuariosAgregar
        agregar = New frmUsuariosAgregar
        agregar.ShowDialog()
        Refrescar()
    End Sub

    Private Sub msiEditar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles msiEditar.Click
        Dim id As Integer

        If dgLista.SelectedRows.Count = 1 Then

            Dim dgvRow As DataGridViewRow

            For Each dgvRow In dgLista.SelectedRows

                id = dgvRow.Cells(0).Value

            Next
            Dim editar As frmUsuariosEditar
            editar = New frmUsuariosEditar
            editar.Id = id
            editar.ShowDialog()
            Refrescar()
        Else

            MessageBox.Show("Debes seleccionar una fila")
        End If
    End Sub

    Private Sub msiInformacionUsuario_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles msiInformacionUsuario.Click
        Dim id As Integer

        If dgLista.SelectedRows.Count = 1 Then

            Dim dgvRow As DataGridViewRow

            For Each dgvRow In dgLista.SelectedRows

                id = dgvRow.Cells(0).Value

            Next
            Dim informacion As frmUsuarioInformacion
            informacion = New frmUsuarioInformacion
            informacion.Id = id
            informacion.ShowDialog()
            Refrescar()
        Else

            MessageBox.Show("Debes seleccionar una fila")
        End If
    End Sub

    Private Sub msiCambiarEstado_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles msiCambiarEstado.Click
        Dim id As Integer
        Dim nombre As String = ""
        Dim estado As Integer
        Dim perfil As Integer


        If dgLista.SelectedRows.Count = 1 Then

            Dim dgvRow As DataGridViewRow

            For Each dgvRow In dgLista.SelectedRows

                id = dgvRow.Cells(0).Value
                nombre = dgvRow.Cells(1).Value
                perfil = dgvRow.Cells(5).Value
                estado = dgvRow.Cells(6).Value

            Next

            Dim datos As frmUsuarioCambiarEstado
            datos = New frmUsuarioCambiarEstado
            datos.Id = id
            datos.Nombre = nombre
            datos.Perfil = perfil
            datos.Estado = estado
            datos.ShowDialog()
            Refrescar()
        Else
            MessageBox.Show("Debes seleccionar una fila")

        End If
    End Sub
End Class